import Store from '../store'
import $ from 'jquery'
import { computeRowlenByContent,computeColWidthByContent } from './getRowlen'
import sheetConfigsetting from '../controllers/sheetConfigsetting'

export default function rhchInit(rowheight, colwidth) {
    zoomSetting()//Zoom sheet on first load
    //行高
    if(rowheight != null){
        Store.visibledatarow = []
        Store.rh_height = 0

        for (let r = 0; r < rowheight; r++) {
            let rowlen = Store.defaultrowlen

            if (Store.config['rowlen'] != null && Store.config['rowlen'][r] != null) {
                rowlen = Store.config['rowlen'][r]
            }

            if (Store.config['rowhidden'] != null && Store.config['rowhidden'][r] != null) {
                Store.visibledatarow.push(Store.rh_height)
                continue
            }

            // 自动行高计算
            if (rowlen === 'auto') {
                rowlen = computeRowlenByContent(Store.flowdata, r)
            }
            Store.rh_height += Math.round((rowlen + 1) * Store.zoomRatio)

            Store.visibledatarow.push(Store.rh_height) //行的临时长度分布
        }

        // 如果增加行和回到顶部按钮隐藏，则减少底部空白区域，但是预留足够空间给单元格下拉按钮
        if (!sheetConfigsetting.enableAddRow && !sheetConfigsetting.enableAddBackTop) {
            Store.rh_height += 29
        } else {
            Store.rh_height += 80  //最底部增加空白
        }

    }

    //列宽
    if(colwidth != null){
        Store.visibledatacolumn = []
        Store.ch_width = 0

        let maxColumnlen = 120

        for (let c = 0; c < colwidth; c++) {
            let firstcolumnlen = Store.defaultcollen

            if (Store.config['columnlen'] != null && Store.config['columnlen'][c] != null) {
                firstcolumnlen = Store.config['columnlen'][c]
            }
            else {
                if (Store.flowdata[0] != null && Store.flowdata[0][c] != null) {
                    if (firstcolumnlen > 300) {
                        firstcolumnlen = 300
                    }
                    else if (firstcolumnlen < Store.defaultcollen) {
                        firstcolumnlen = Store.defaultcollen
                    }

                    if (firstcolumnlen != Store.defaultcollen) {
                        if (Store.config['columnlen'] == null) {
                            Store.config['columnlen'] = {}
                        }

                        Store.config['columnlen'][c] = firstcolumnlen
                    }
                }
            }

            if(Store.config['colhidden'] != null && Store.config['colhidden'][c] != null){
                Store.visibledatacolumn.push(Store.ch_width)
                continue
            }

            // 自动行高计算
            if (firstcolumnlen === 'auto') {
                firstcolumnlen = computeColWidthByContent(Store.flowdata, c, rowheight)
            }
            Store.ch_width += Math.round((firstcolumnlen + 1)*Store.zoomRatio)

            Store.visibledatacolumn.push(Store.ch_width)//列的临时长度分布

            // if(maxColumnlen < firstcolumnlen + 1){
            //     maxColumnlen = firstcolumnlen + 1;
            // }
        }

        // Store.ch_width += 120;
        Store.ch_width += maxColumnlen
    }
}


export function zoomSetting(){
    //zoom
    Store.rowHeaderWidth = sheetConfigsetting.rowHeaderWidth * Store.zoomRatio
    Store.columnHeaderHeight = sheetConfigsetting.columnHeaderHeight *Store.zoomRatio
    $('#luckysheet-rows-h').width((Store.rowHeaderWidth-1.5))
    $('#luckysheet-cols-h-c').height((Store.columnHeaderHeight-1.5))
    $('#luckysheet-left-top').css({width:Store.rowHeaderWidth-1.5, height:Store.columnHeaderHeight-1.5})
}
